package com.example.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * ClassName:Component
 * Package:com.example.annotation
 * Description:
 *
 * @Author:ZhangXin
 * @Create:2023/5/9-20:19
 * @Version:v1.0
 */
//自定义注解
//一下表示@Component注解可以出现在类上,属性上
@Target(value = {ElementType.TYPE, ElementType.FIELD})//标注注解的注解,叫做元注解
//@Target注解用来修饰@Component可以出现的位置
@Retention(RetentionPolicy.RUNTIME)//也是个元注解,用来标注@Component注解最终保留class文件当中,并且可以被反射机制读取
public @interface Component {

    //定义注解属性
    //String 是属性类型
    //value 是属性名
    String value();

//    String name();
//
//    String[] names();
//
//    int[] ages();


}
